// Source :
// Author : simba
// Date   : 2016-06-06

/**********************************************************************************
*冒泡排序
**********************************************************************************/

//引用主文件
package main

//引用包
import (
	"fmt"
	"math/rand"
	"time"
)

//随机生成最少3个、最多20个的整型数组
func createArray() []int {
	var column int
	s := rand.NewSource(time.Now().UnixNano())
	r := rand.New(s)
	column = r.Intn(17) + 3

	res := make([]int, column)
	for i := 0; i < column; i++ {
		s1 := rand.NewSource(time.Now().UnixNano())
		r1 := rand.New(s1)
		res[i] = r1.Intn(1024)
	}

	return res
}

//主入口函数
func main() {
	//待排序的数组
	arr := createArray()
	//打印数组本身的排序
	fmt.Println(arr)
	//数组的长度
	num := len(arr)

	//循环排序
	for i := 0; i < num; i++ {
		//循环下一位的值
		for j := i + 1; j < num; j++ {
			//两值比较，位置移动
			if arr[i] > arr[j] {
				temp := arr[i]
				arr[i] = arr[j]
				arr[j] = temp
			}
		}
	}

	fmt.Println(arr)
}
